1. Field of the Invention
The present invention relates to an apparatus for displaying computer output. More particularly, the present invention relates to an apparatus for displaying multiple types of information on computer display devices.
2. Art Background
Human beings can be thought of as having to process visual information divided into four categories. These comprise images for natural stills and video for natural movies. Additionally, the synthetic still visual type is constituted by graphical images while synthetic movies can be considered animation. It is these four visual data types for the human I/O road map with which computer designers must come to grips in maximizing the amount of information that can be conveyed to computer users. Traditionally, computer designers have designed systems to accommodate only one or two of these visual data types requiring high additional costs if it became necessary to incorporate the remaining types of information. The challenge, therefore, for computer systems designers is to design systems which though fully integrated, are scalable or expandable to handle the increasing visual needs of computer users.
Computer display devices are essential for conveying information to computer users. The information displayed to the user can take many forms. For example, it may be useful to display information in terms of alphanumeric characters, graphical images or even full motion video. In any of these forms, the user seeks to maximize the quantity and quality of information that is output to the display, as well as maximizing the speed at which the information is displayed. Human computer users tend to absorb and manipulate information more quickly when it is presented in a graphical form, rather than in alphanumeric form, likewise with video. The increased use of visual images thus creates a better environment for conveying information to the user. The optimal computer system thus needs to be able to manipulate alphanumeric-type information and graphical information with relative ease as well as being able to incorporate video information.
It has also been determined in the computer industry that the use of color tends to increase the amount of information presented to the computer user. Both graphical information and video can be enhanced by the effective use of color. Thus, in addition to being able to process multiple types of information, for purposes of conveying large amounts of information, the ability to manipulate color and other attributes with that information is essential.
Unfortunately, the ability to display information in multiple formats with multiple colors and other attributes comes with the expense of increasingly complicated hardware. In conventional computer display systems, images are stored in a large block of memory allocated for the display screen. In this display screen memory, each memory location is matched to a corresponding picture element (pixel) on the display system. This block of memory is generally referred to as a frame buffer. The data stored in the frame buffer is then used by a display generator which reads the frame buffer and repeatedly scans the output device on which the image is to be shown. The format of the data in the frame buffer is usually of a single type which corresponds to the type of information to be displayed. That is, for conventional graphical information, the block of data corresponding to each given pixel on the output display will be, for example, in the RGB color format or an index value to a color lookup table (CLUT) which stores RGB data. The RGB format is one which corresponds the color information for the pixel which it represents as defined in a three-dimensional color space. The RGB digital data is translated into analog control information for three different raster guns, each dedicated to a single color which combine to form the desired color of the pixel at the particular point on the screen.
The data in the frame buffer is maintained such that there is a direct correspondence of succeeding memory elements to succeeding screen pixels. Serial reading of the frame buffer results in rendering the stored image by having the raster guns follow the scan lines of the display device. Obviously, because color information is stored in the frame buffer, more than one bit of information is required to control how a given pixel is rendered. The more detailed information desired for the pixel, the more memory that is required to be maintained for each pixel in the frame buffer. It has been determined that 24 bits of information are required to identify the color for each pixel to accommodate the color resolving power of the human eye. The more realistic an image that is required, the larger amount of memory that is necessary for the frame buffer.
When it is desired to combine graphics data with video data, the hardware requirements are further complicated. The data format for video information is usually different from that of graphics information. Recently, in order to combine stored graphics and video on a single output display, graphics systems have been designed using two frame buffers. One frame buffer is used for storing a graphical image, the other is used for storing a video image. Each frame buffer has a corresponding memory location for each pixel on the output display. The use of two frame buffers storing different formatted data requires two different video generators which can translate the respective data types into the controls for driving the raster guns of the display. Further, additional logic is required for combining the images which determines whether the graphics pixel data or video pixel data will be displayed at each pixel location. The conventional method for this logic is to use the concept of chroma-keying, whereby if the graphic image is of a certain color, then the video data will be displayed at those locations.
Obviously, the use of dual frame buffers as well as multiple video generators and compositing logic as discrete elements increases the amount of hardware and therefore costs required for processing combined graphics and video images. It also limits the flexibility of the design to be scaled to new technologies. The increased cost results from the duplication of frame buffers which require twice the memory for each pixel to be displayed and two separate video generators for translating the two data formats. Additional complications in combining graphics and video arise because graphic images and video images require refreshing at different rates.
One approach that has been used to reduce the hardware requirements and therefore, costs of composite graphics and video systems is the use of a dual-mode frame buffer. Such a frame buffer combines into a single memory system the storage space for both graphics and video data. However, it still requires duplicate memory for each pixel location, though, as a single memory only one memory controller is required for the frame buffer. Another approach is to use a single frame buffer having only a single memory location corresponding to each pixel location but which can store different formats of data for each pixel location. The disadvantage of this is that a lot of memory is wasted because each memory location has to be able to store data of potentially the largest data type. Also, the memory for each pixel will need to be further extended to hold tagging information which identifies what format each block of pixel data is in. Further, the display generator circuitry must then be able to decode the multiple formats of information for driving the output display.
It would be a great advantage and, is therefore an object of the present invention, to provide a display system which uses a single frame buffer for storing data of a single data type, a single video generator which is responsive to that data format type for driving an output display while still being able to display both video and graphic information.